Ruby eleva as definições de métodos de assinaturas rígidas para interfaces dinâmicas. Ao dominar o operador Splat operador e a lógica baseada em expressões, criamos métodos que se adaptam com elegância a diferentes densidades de dados, sem necessidade de sobrecargas complexas.
1. Padrões Inteligentes e Splat
Ruby permite que parâmetros sejam inicializados diretamente na assinatura, garantindo funcionalidade mesmo com poucos dados. O operador Splat (*) age como uma ponte: nos parâmetros, ele captura argumentos extras em um array; nas chamadas, ele 'explode' um array em slots individuais.
2. Retornos Baseados em Expressões
Métodos em Ruby retornam automaticamente o valor da última expressão executada. No entanto, a palavra-chave return é usada estrategicamente para sair antecipadamente ou retornar múltiplos valores como um array para atribuição paralela.
# Ruby empacota (num, sq) como um array [32, 1024]